home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / Apps / ScreenSavers / BackSpaceViews / SpinView.BackModule / SpinViewMore.m < prev    next >
Encoding:
Text File  |  1995-06-12  |  5.9 KB  |  306 lines

  1. #import    "SpinView.h"
  2. #import    "Thinker.h"
  3.  
  4. #import    <strings.h>
  5. #import    <defaults/defaults.h>
  6. #import    <sys/param.h>
  7.  
  8. #import    <appkit/Application.h>
  9. #import    <appkit/TextField.h>
  10. #import    <appkit/Slider.h>
  11. #import    <appkit/Panel.h>
  12.     
  13. /**********************************************************************/
  14.  
  15. static    char    tnum[ 20 ];
  16.     
  17. /**********************************************************************/
  18.  
  19. @implementation    SpinView(inspect)
  20.  
  21. /**********************************************************************/
  22.  
  23. - inspector : sender
  24. {
  25.     char    buf[MAXPATHLEN];
  26.  
  27.     if( !( inspectPanel ) )
  28.     {
  29.         sprintf( buf, "%s/Spin.nib", [ sender moduleDirectory:"Spin" ] );
  30.         
  31.         inspectPanel = [ NXApp loadNibFile:buf owner:self withNames:NO ];
  32.     
  33.         [ self connectInspector ];
  34.     }
  35.     
  36.     return [ mainInspectBox contentView ];
  37. }
  38.  
  39. /**********************************************************************/
  40.  
  41. - ( void ) connectInspector
  42. {
  43.     [ angleSlider setMaxValue : MAXANGLEINC ];
  44.     [ angleSlider setMinValue : MINANGLEINC ];
  45.     [ angleSlider setIntValue : CurAngleInc ];
  46.     
  47.     [ angleField setIntValue : CurAngleInc ];
  48.     
  49.     [ numSpinSlider setMaxValue : MAXNUMSPINS ];
  50.     [ numSpinSlider setMinValue : MINNUMSPINS ];
  51.     [ numSpinSlider setIntValue : CurNumSpins ];
  52.     
  53.     [ numSpinField setIntValue : CurNumSpins ];
  54.     
  55.     [ radiusSlider setMaxValue : MAXRADIUS ];
  56.     [ radiusSlider setMinValue : MINRADIUS ];
  57.     [ radiusSlider setIntValue : CurRadius ];
  58.     
  59.     [ radiusField setIntValue : CurRadius ];
  60.     
  61.     [ tailSlider setMaxValue : MAXTAILLEN ];
  62.     [ tailSlider setMinValue : MINTAILLEN ];
  63.     [ tailSlider setIntValue : CurTailLen ];
  64.     
  65.     [ tailField setIntValue : CurTailLen ];
  66.     
  67.     [ xIncSlider setMaxValue : MAXXINC ];
  68.     [ xIncSlider setMinValue : MINXINC ];
  69.     [ xIncSlider setFloatValue : CurXInc ];
  70.  
  71.     [ xIncField setFloatingPointFormat : NO left : 2 right : 1 ];
  72.     [ xIncField setFloatValue : CurXInc ];
  73.     
  74.     [ yIncSlider setMaxValue : MAXYINC ];
  75.     [ yIncSlider setMinValue : MINYINC ];
  76.     [ yIncSlider setFloatValue : CurYInc ];
  77.  
  78.     [ yIncField setFloatingPointFormat : NO left : 2 right : 1 ];
  79.     [ yIncField setFloatValue : CurYInc ];
  80. }
  81.     
  82. /**********************************************************************/
  83.  
  84. - setAngle : sender
  85. {
  86.     int    angleInc;
  87.     
  88.     angleInc = [ sender intValue ];
  89.  
  90.     if( sender == angleSlider )
  91.         [ angleField setIntValue : angleInc ];
  92.     else
  93.     {
  94.         if( angleInc > MAXANGLEINC )
  95.         {
  96.             angleInc = MAXANGLEINC;
  97.             [ angleField setIntValue : angleInc ];
  98.         }
  99.         else if( angleInc < MINANGLEINC )
  100.         {
  101.             angleInc = MINANGLEINC;
  102.             [ angleField setIntValue : angleInc ];
  103.         }
  104.         
  105.         [ angleSlider setIntValue : angleInc ];
  106.     }
  107.     
  108.     sprintf( tnum, "%3d", angleInc );
  109.     NXWriteDefault( OWNER, "AngleIncrement", tnum );
  110.     
  111.     CurAngleInc = angleInc;
  112.     
  113.     [ self display ];
  114.     [ self resetSpinners ];
  115.     
  116.     return self;
  117. }
  118.     
  119. /**********************************************************************/
  120.  
  121. - setXInc : sender
  122. {
  123.     float    xInc;
  124.     
  125.     xInc = [ sender floatValue ];
  126.  
  127.     if( sender == xIncSlider )
  128.         [ xIncField setFloatValue : xInc ];
  129.     else
  130.     {
  131.         if( xInc > MAXXINC )
  132.         {
  133.             xInc = MAXXINC;
  134.             [ xIncField setFloatValue : xInc ];
  135.         }
  136.         else if( xInc < MINXINC )
  137.         {
  138.             xInc = MINXINC;
  139.             [ xIncField setFloatValue : xInc ];
  140.         }
  141.         
  142.         [ xIncSlider setFloatValue : xInc ];
  143.     }
  144.     
  145.     sprintf( tnum, "%6.3f", xInc );
  146.     NXWriteDefault( OWNER, "XIncrement", tnum );
  147.     
  148.     CurXInc = xInc;
  149.     
  150.     [ self display ];
  151.     [ self resetSpinners ];
  152.     
  153.     return self;
  154. }
  155.     
  156. /**********************************************************************/
  157.  
  158. - setYInc : sender
  159. {
  160.     float    yInc;
  161.     
  162.     yInc = [ sender floatValue ];
  163.  
  164.     if( sender == yIncSlider )
  165.         [ yIncField setFloatValue : yInc ];
  166.     else
  167.     {
  168.         if( yInc > MAXYINC )
  169.         {
  170.             yInc = MAXYINC;
  171.             [ yIncField setFloatValue : yInc ];
  172.         }
  173.         else if( yInc < MINYINC )
  174.         {
  175.             yInc = MINYINC;
  176.             [ yIncField setFloatValue : yInc ];
  177.         }
  178.         
  179.         [ yIncSlider setFloatValue : yInc ];
  180.     }
  181.     
  182.     sprintf( tnum, "%6.3f", yInc );
  183.     NXWriteDefault( OWNER, "YIncrement", tnum );
  184.     
  185.     CurYInc = yInc;
  186.     
  187.     [ self display ];
  188.     [ self resetSpinners ];
  189.     
  190.     return self;
  191. }
  192.  
  193. /**********************************************************************/
  194.  
  195. - setNumSpins : sender
  196. {
  197.     int    numSpins;
  198.     
  199.     numSpins = [ sender intValue ];
  200.     
  201.     if( sender == numSpinSlider )
  202.         [ numSpinField setIntValue : numSpins ];
  203.     else
  204.     {
  205.         if( numSpins > MAXNUMSPINS )
  206.         {
  207.             numSpins = MAXNUMSPINS;
  208.             [ numSpinField setIntValue : numSpins ];
  209.         }
  210.         else if( numSpins < MINNUMSPINS )
  211.         {
  212.             numSpins = MINNUMSPINS;
  213.             [ numSpinField setIntValue : numSpins ];
  214.         }
  215.         
  216.         [ numSpinSlider setIntValue : numSpins ];
  217.     }
  218.     
  219.     sprintf( tnum, "%2d", numSpins );
  220.     NXWriteDefault( OWNER, "NumberOfSpinners", tnum );
  221.     
  222.     CurNumSpins = numSpins;
  223.     
  224.     [ self display ];
  225.     [ self resetSpinners ];
  226.     
  227.     return self;
  228. }
  229.     
  230. /**********************************************************************/
  231.  
  232. - setRadius : sender
  233. {
  234.     int    radius;
  235.     
  236.     radius = [ sender intValue ];
  237.     
  238.     if( sender == radiusSlider )
  239.         [ radiusField setIntValue : radius ];
  240.     else
  241.     {
  242.         if( radius > MAXRADIUS )
  243.         {
  244.             radius = MAXRADIUS;
  245.             [ radiusField setIntValue : radius ];
  246.         }
  247.         else if( radius < MINRADIUS )
  248.         {
  249.             radius = MINRADIUS;
  250.             [ radiusField setIntValue : radius ];
  251.         }
  252.         
  253.         [ radiusSlider setIntValue : radius ];
  254.     }
  255.     
  256.     sprintf( tnum, "%3d", radius );
  257.     NXWriteDefault( OWNER, "Radius", tnum );
  258.     
  259.     CurRadius = radius;
  260.     
  261.     [ self display ];
  262.     [ self resetSpinners ];
  263.     
  264.     return self;
  265. }
  266.     
  267. /**********************************************************************/
  268.  
  269. - setTailLength : sender 
  270. {
  271.     int    tailLen;
  272.     
  273.     tailLen = [ sender intValue ];
  274.     
  275.     if( sender == tailSlider )
  276.         [ tailField setIntValue : tailLen ];
  277.     else
  278.     {
  279.         if( tailLen > MAXTAILLEN )
  280.         {
  281.             tailLen = MAXTAILLEN;
  282.             [ tailField setIntValue : tailLen ];
  283.         }
  284.         else if( tailLen < MINTAILLEN )
  285.         {
  286.             tailLen = MINTAILLEN;
  287.             [ tailField setIntValue : tailLen ];
  288.         }
  289.         
  290.         [ tailSlider setIntValue : tailLen ];
  291.     }
  292.     
  293.     sprintf( tnum, "%3d", tailLen );
  294.     NXWriteDefault( OWNER, "TailLength", tnum );
  295.         
  296.     CurTailLen = tailLen;
  297.     
  298.     [ self display ];
  299.     [ self resetSpinners ];
  300.     
  301.     return self;
  302. }
  303.  
  304. /**********************************************************************/
  305.  
  306. @end